package com.fowo.api.model.tmp.fbm.refund.orders;

import com.alibaba.excel.annotation.ExcelProperty;
import com.fowo.api.common.validator.*;
import javax.validation.constraints.*;
import lombok.Getter;
import lombok.Setter;

/**
 * FBM退货订单临时表 预览导入辅助模型(全字段为文本类型)
 * @author yl_ls
 */
@Getter
@Setter
public class TmpFbmRefundOrdersImportPo {

  /** 亚马逊订单id */
  @ExcelProperty("亚马逊订单id")
  @Size(max = 50, message = "亚马逊订单id长度不能超过50")
  private String orderId;

  /** 订购时间 */
  @ExcelProperty("订购时间")
  @DateTimeString(message = "订购时间不是有效的时间日期格式")
  private String orderDate;

  /** 退货时间 */
  @ExcelProperty("退货时间")
  @DateTimeString(message = "退货时间不是有效的时间日期格式")
  private String returnRequestDate;

  /** 退货状态 */
  @ExcelProperty("退货状态")
  @Size(max = 50, message = "退货状态长度不能超过50")
  private String returnRequestStatus;

  /** RMA单号 */
  @ExcelProperty("RMA单号")
  @Size(max = 50, message = "RMA单号长度不能超过50")
  private String amazonRmaId;

  /** 店铺RMA单号 */
  @ExcelProperty("店铺RMA单号")
  @Size(max = 50, message = "店铺RMA单号长度不能超过50")
  private String merchantRmaId;

  /** 标签类型 */
  @ExcelProperty("标签类型")
  @Size(max = 50, message = "标签类型长度不能超过50")
  private String labelType;

  /** 标签费用 */
  @ExcelProperty("标签费用")
  @DecimalString(message = "标签费用小数格式不正确", label = "标签费用")
  private String labelCost;

  /** 币种 */
  @ExcelProperty("币种")
  @Size(max = 50, message = "币种长度不能超过50")
  private String currencyCode;

  /** 承运商 */
  @ExcelProperty("承运商")
  @Size(max = 50, message = "承运商长度不能超过50")
  private String returnCarrier;

  /** 运单号 */
  @ExcelProperty("运单号")
  @Size(max = 50, message = "运单号长度不能超过50")
  private String trackingId;

  /** 标签支付方 */
  @ExcelProperty("标签支付方")
  @Size(max = 50, message = "标签支付方长度不能超过50")
  private String labelToBePaidBy;

  /** A-to-Z标签, N代表否，Y代表是 */
  @ExcelProperty("A-to-Z标签, N代表否，Y代表是")
  @Size(max = 50, message = "A-to-Z标签, N代表否，Y代表是长度不能超过50")
  private String aToZClaim;

  /** Prime标签, N代表否，Y代表是 */
  @ExcelProperty("Prime标签, N代表否，Y代表是")
  @Size(max = 50, message = "Prime标签, N代表否，Y代表是长度不能超过50")
  private String isPrime;

  /** ASIN */
  @ExcelProperty("ASIN")
  @Size(max = 50, message = "ASIN长度不能超过50")
  private String asin;

  /** MSKU */
  @ExcelProperty("MSKU")
  @Size(max = 50, message = "MSKU长度不能超过50")
  private String merchantSku;

  /** 标题 */
  @ExcelProperty("标题")
  private String itemName;

  /** 退货数量 */
  @ExcelProperty("退货数量")
  @IntegerString(message = "退货数量数值格式不正确", label = "退货数量")
  private String returnQuantity;

  /** 退货原因 */
  @ExcelProperty("退货原因")
  @Size(max = 50, message = "退货原因长度不能超过50")
  private String returnReason;

  /** 是否符合政策：N代表否，Y代表是 */
  @ExcelProperty("是否符合政策：N代表否，Y代表是")
  @Size(max = 50, message = "是否符合政策：N代表否，Y代表是长度不能超过50")
  private String inPolicy;

  /** 退货类型 */
  @ExcelProperty("退货类型")
  @Size(max = 50, message = "退货类型长度不能超过50")
  private String returnType;

  /** 解决方法 */
  @ExcelProperty("解决方法")
  @Size(max = 50, message = "解决方法长度不能超过50")
  private String resolution;

  /** 发票号码 */
  @ExcelProperty("发票号码")
  @Size(max = 50, message = "发票号码长度不能超过50")
  private String invoiceNumber;

  /** 退货送达日期 */
  @ExcelProperty("退货送达日期")
  @DateTimeString(message = "退货送达日期不是有效的时间日期格式")
  private String returnDeliveryDate;

  /** 订单金额 */
  @ExcelProperty("订单金额")
  @DecimalString(message = "订单金额小数格式不正确", label = "订单金额")
  private String orderAmount;

  /** 商品信息--原始数量 */
  @ExcelProperty("商品信息--原始数量")
  @IntegerString(
    message = "商品信息--原始数量数值格式不正确",
    label = "商品信息--原始数量"
  )
  private String orderQuantity;

  /** Safe-T索赔原因 */
  @ExcelProperty("Safe-T索赔原因")
  @Size(max = 50, message = "Safe-T索赔原因长度不能超过50")
  private String safeTActionReason;

  /** Saft-T索赔单号 */
  @ExcelProperty("Saft-T索赔单号")
  @Size(max = 50, message = "Saft-T索赔单号长度不能超过50")
  private String safeTClaimId;

  /** Saft-T索赔状态 */
  @ExcelProperty("Saft-T索赔状态")
  @Size(max = 50, message = "Saft-T索赔状态长度不能超过50")
  private String safeTClaimState;

  /** Saft-T索赔时间 */
  @ExcelProperty("Saft-T索赔时间")
  @DateTimeString(message = "Saft-T索赔时间不是有效的时间日期格式")
  private String safeTClaimCreationTime;

  /** Safe-T索赔金额 */
  @ExcelProperty("Safe-T索赔金额")
  @DecimalString(
    message = "Safe-T索赔金额小数格式不正确",
    label = "Safe-T索赔金额"
  )
  private String safeTClaimReimbursementAmount;

  /** 退款金额 */
  @ExcelProperty("退款金额")
  @DecimalString(message = "退款金额小数格式不正确", label = "退款金额")
  private String refundedAmount;

  /** 店铺id */
  @ExcelProperty("店铺id")
  @LongString(message = "店铺id数值格式不正确", label = "店铺id")
  private String sid;

  /** 站点 */
  @ExcelProperty("站点")
  @Size(max = 50, message = "站点长度不能超过50")
  private String region;
}
